The present invention relates to an image data storing method and an image data rotational processing device in which image data can be obtained at high speeds with a small buffer memory capacity not only when reading out an original image as it is from a storage part for storing therein image data on a two-dimensional image but also when reading out a rotated image rotated by a certain degree such as 90 degrees with respect to the original image.
When reading out image data on an two-dimensional image stored in an image data storage part and printing the two-dimensional image on a sheet, there occurs a case in which it is necessary to rotate the image by 90 degrees according to the direction of the sheet (the sheet feeding direction). For example, when an image longer in the vertical direction thereof is to be printed on a printing sheet arranged in the horizontal direction, it is necessary to obtain data on a two-dimensional image that is rotated by 90 degrees in the clockwise direction.
As one of techniques which can cope with the above-mentioned image rotation, there is known a method in which there is provided a buffer memory having an image data capacity corresponding to one screen, image data corresponding to one screen are once written into the buffer memory from an image data storage part, and, when the image data are read out from the buffer memory, the read-out order of pixels is operated before the pixels are transferred to a host device such as a printer or the like.
In most cases, a large capacity of image data are stored in a disc device such as a magnetic disc device or the like which is inexpensive at a unit cost per recording capacity. However, for recording and reproduction of moving images as well as for high speed image input and print-out (printing), a higher image data transfer throughput is required and, as one of techniques which can deal with such high throughput requirement, conventionally, there is known a technique in which a plurality of disc devices are driven in parallel to each other.
In this disc devices parallel driving method, a plurality of disc devices are driven parallel in synchronization with one another so that the image data can be written thereunto and read out therefrom. Further, in order to use the parallel driving with a high efficiency, there is also known a technique in which image data necessary at the same timing are dispersed to a plurality of disc devices so that writing and reading processing can not be concentrated on a specific device.
Now, in FIGS. 28 and 31, there are shown image data rotational processing devices in both of which image data on a two-dimensional image stored are outputted to a host device such as a printer or the like in the form of image data on the two-dimensional image that has been rotated by 90 deg. from their original state, using the above-mentioned conventional techniques.
FIG. 28 is a block diagram of an image data rotational processing device in which a piece of disc device is used as the image data storage part thereof, while FIG. 31 is a block diagram of an image data rotational processing device including a parallel drive disc device in which five pieces of disc devices are driven in parallel as the image data storage part thereof.
In the structure shown in FIG. 28, image data stored in a disc device 1a forming an image data storage part 1 are transmitted by a subordinate input-output control part 2 to a buffer memory 3, in which the image data are stored temporarily. When they are stored into the buffer memory 3 by the subordinate input-output control part 2, the image data are stored in the same direction as they are stored into the image data storage part 1. In this case, as shown in FIG. 29A, in the order in which priority is given to the upper pixel data of the two-dimensional images, the pixel data are written sequentially from left to right in the horizontal direction of the two-dimensional image.
The temporarily stored image data are then read out from the buffer memory 3 and are outputted through a host input-output control part 4 into a host device 5. Here, the image data may be read out from the buffer memory 3 in two manners. That is, to obtain an image in the same state as it is stored in the image data storage part 1 (which is herereinafter referred to as a standard image), the pixel data are taken out from the buffer memory 3 in the same order as they have been written thereunto. On the other hand, to provide a rotated image which is obtained by rotating the standard image by 90 deg. clockwise, in the illustrated case, as shown in FIG. 29B, in the order in which priority is given to the left pixel data of the image, the image data or pixel data are taken out from the buffer memory 3 in the upward direction from the bottom of the vertical direction of the two-dimensional image. In the illustrated case, the host device 5 outputs the received image data to an image printing device 6 and allows the device 6 to print the image data.
Here, FIGS. 30A and 30B are timing charts for a data transfer timing employed in the image data rotational processing device shown in FIG. 28, in which a horizontal axis represents the passage of time. In particular, FIG. 30A shows an input period Pin during which the image data are transferred from the subordinate input-output control part 2 to the buffer memory 3, while FIG. 30B shows an output period Pout during which the image data are transferred from the buffer memory 3 to the host device 5 by the host input-output control part 4.
Further, FIGS. 30A and 30B show a timing employed when the number of screens of the read-out images is 1.
Assuming that the image data stored in the disc device 1a forming the image data storage part 1 are arranged continuously so that the greatest throughput can be provided, then the time necessary for the subordinate input-output control part 2 to transfer the image data from the image data storage part 1 to the buffer memory 3 is almost in inverse proportion to the sustained transfer speed (a speed at which the image data are transferred continuously, this expression will be used similarly in the following description of this specification) of the disc device 1a. Also, the time necessary for transfer of the image data from the buffer memory 3 to the host device 5 is almost in inverse proportion to the sustained transfer speed of the buffer memory 3. In FIGS. 30A and 30B, the sustained transfer speed of the disc device 1a is set to 1/6 to 1/5 of the sustained transfer speed of the buffer memory 3. The image data storage part 1 consists only of one piece of disc device 1a. Therefore, in the structure shown in FIG. 28, as shown in FIGS. 30A and 30B, the input period Pin is 5 to 6 times the output period Pout.
Next, the image data rotational processing device using the parallel driving disc device shown in FIG. 31 will next be described. The structure shown in FIG. 31 is different from the structure shown in FIG. 28 in that an image data storage part 11 is composed of a plurality of disc devices, in the illustrated embodiment, five disc devices and also in that the five disc devices 11A, 11B, 11C, 11D and 11E are driven in parallel to one another. The remaining components and the flow of processing of the structure shown in FIG. 31 are the same as those of the structure shown in FIG. 28.
In the illustrated embodiment, for the five disc devices 11A, 11B, 11C, 11D and 11E of the image data storage part 11, as shown in a data storage view in FIG. 32, image data on the two-dimensional images are stored in such a manner that, for every 5 pixels arranged in the vertical direction, one pixel is stored in one disc device and the pixel data are stored from left to right in the horizontal direction, with priority given to the upper side of the two-dimensional images. That is, assuming that a horizontal direction is referred to as a line and a vertical direction is referred to as a row in FIG. 32, one line of pixel data every five lines are stored in one disc device: for example, the pixel data of the first line, sixth line, eleventh line,--are respectively stored in the disc device 11A; the pixel data of the second line, seventh line, twelfth line,--are stored in the disc device 11B; the pixel data of the third line, eighth line, thirteenth line,--are stored in the disc device 11C; and so on.
In the illustrated embodiment, a subordinate input-output control part 12 reads out five lines of pixel data one pixel after another sequentially from the five disc devices 11A to 11E. That is, the control part 12 reads out simultaneously the five pixels in the vertical direction and repeats this read-out operation in the horizontal direction to thereby store the thus read-out pixels in a buffer memory 13. The processing operations of a host input-output control part 14, a host device 15 and an image printing device 16 are quite the same as in the embodiment shown in FIG. 28.
As described above, in the embodiment shown in FIG. 31, the necessary image data can be obtained from the five disc devices 11A-11E substantially at the same timing and thus the load of the transfer speed when the image data are taken out from the image data storage part 11 can be dispersed equally to the five disc devices 11A-11E.
The timing of the data transfer in the embodiment shown in FIG. 31 is as shown in FIGS. 33A and 33B. In the data transfer timing chart in FIGS. 33A and 33B as well, the horizontal axis represents the passage of time. Similarly to the timing chart in FIGS. 30A and 30B for the device shown in FIG. 28, FIG. 33A shows an input period Pin' during which the image data are transferred from the subordinate input-output control part 12 to the buffer memory 13, while FIG. 33B shows an output period Pout (which is the same as in the embodiment shown in FIG. 28) during which the image data are transferred by the host input-output control part 14 from the buffer memory 13 to the host device 15. Here, FIGS. 33A and 33B also show a timing which is used when the number of screens for the images read out is one.
In the present embodiment, since there is employed the parallel driving method, if the respective sustained transfer speeds of the five disc devices 11A-11E are equal to one another and the parallel driving is carried out ideally, then the transfer time of the image data from the image data storage part 11 to the buffer memory 13 becomes 1/5 of a transfer time necessary for one disc device. That is, the effective sustained transfer speed given by the five disc devices becomes 5 times the sustained transfer speed of one disc device.
Here, the timing chart in FIGS. 33A and 33B show a case in which the respective sustained transfer speeds of the five disc devices 11A-11E in the embodiment shown in FIG. 31 are assumed to be 1/6- 1/5 of the sustained transfer speed of the buffer memory 13 and thus the effective sustained transfer speeds of the five disc devices do not exceed the sustained transfer speed of the buffer memory 13. However, when the effective sustained transfer speed of the image data from the image data storage part 11 exceeds the sustained transfer speed of the buffer memory 13 due to the parallel driving of the five disc devices, the input period Pin' depends on the sustained transfer speed of the buffer memory 13.
In other words, the embodiment shown in FIG. 31 provides a technique which can improve the low data transfer speed (throughput) of the image data storage part 1 included in the embodiment shown in FIG. 28.
In either of the above-mentioned image data rotational processing devices, the buffer memory 3 or 13 is structured such that it includes a memory capacity corresponding to one screen of the image data. However, when the buffer memory includes only such memory capacity corresponding to one screen, unless the read-out of the image data from the buffer memory is completed, the image data corresponding to the next one screen cannot be written and thus the throughput of the image data storage part cannot be utilized as it is, so that the transfer efficiency of the device is cut in half. This raises a problem especially when the image data must be read out continuously.
That is, in the embodiment shown in FIG. 28 or in FIG. 31, when the number of screens is two or more and the image data are read out from the image data storage part and are then transferred to the host device, there is employed such a timing as shown in FIGS. 34A and 34B. In the arrangement of the device to which the timing in FIGS. 34A and 34B is applied, the sustained transfer speed of the image data storage part is assumed to be the same as in the arrangement shown in FIG. 31.
In this case, the buffer memory, as shown in FIGS. 34A and 34B, is processed in such a manner that it is time-shared into a data transfer phase in which image data are transferred from the subordinate input-output control part to the buffer memory (FIG. 34A) and a data transfer phase in which image data are transferred from the buffer memory to the host input-output control part (FIG. 34B). Here, assuming that the transfer time from the subordinate input-output control part to the buffer memory is equal to the transfer time from the buffer memory to the host input-output control part and the time is expressed as T, if the image data to be transferred are present in an amount corresponding to an X number of screens (X is an integral number equal to 2 or more), and also if the initial access times of a command overhead and a disc device are neglected, then a time W necessary to complete the data transfer from the image data storage part to the host device can be expressed by the following general equation: EQU W=2 XT (1)
As a method for solving the above problem, conventionally, there is known a method in which a buffer memory is arranged so as to have banks of two image data screens, a bank of one screen is used for writing while the other bank of one screen is used for reading, and they are changed alternately over to each other. This method is generally referred to as a bank switching method.
In FIG. 35, there is shown an image data rotational processing device which rotates the image data stored therein by 90 deg. and then outputs the 90-deg. rotated imaged data to a host device, using the bank switching method.
The present image data rotational processing device basically has a similar structure to those respectively described before with reference to FIGS. 28 and 31: that is, it includes an image data storage part 21 with a disc device 21a, a subordinate input-output control part 22, a buffer memory 23, a host input-output control part 24, a host device 25, and an image printing device 26. However, the processing device shown in FIG. 35 is different from the before-mentioned two processing devices in that the buffer memory 23 is divided into two memory banks, that is, two buffer memories 23A and 23B.
In the present structure, the buffer memories 23A and 23B respectively have an image memory capacity corresponding to one screen of image data and, when one buffer memory is used for image data storage, the other is used to take out the image data. In this case, when image data corresponding to two or more screens are transferred from the image data storage part 21 to the host device 25, there is employed such a timing as shown in FIGS. 36A and 36B.
That is, similarly to the timing chart shown in FIGS. 34A and 34B, the image data respectively corresponding to one screen that are stored in the buffer memory 23A or 23B at a timing shown in FIG. 36A are taken out at processing timings which respectively correspond to their respective following one screen image data in the obliquely lower right shown in FIG. 36B. However, since each take-out timing overlaps the storage processing timing for the next image data, the whole transfer time is shortened. In FIG. 36B, English capital letters A or B respectively shown within their associated blocks respectively represent the buffer memories 23A and 23B to be used and they respectively correspond to the suffixes of the buffer memories.
In the present processing device, similarly to the device shown in FIG. 34, if it is assumed that the data transfer time from the subordinate device to the buffer memory is equal to the data transfer time from the buffer memory to the host device, the data transfer time is expressed as T, and the initial access times of a command overhead and a disc device are neglected, then the time W necessary to complete the transfer of the image data to the host device can be obtained according to the following general equation: EQU W=(X+1) T (2)
As can be understood from the above description, the structure of the processing device shown in FIG. 35 employs a technique to improve the low data transfer speed (throughput) due to the restrictions of the buffer memory.
In the above-mentioned conventional image data rotational processing devices, description has been given hereinabove of a case in which they respectively have, as a buffer memory, a capacity corresponding to one or two screens of image data in order to obtain the images that are rotated by 90 deg.
However, if the density and gradation of an image are both increased and the image is colored, then the image data per screen is increased in size and thus a buffer memory capacity required is also increased. This provides a great factor that causes the cost of the device to rise. For example, when 400 dots/inch, 256 gradations (8 bits), a single color, and an image size=12 in..times.8.5 in., then image data corresponding to one screen is (400.times.12).times.(400.times.8.5).times.8.div.8=16,320,000 bytes. That is, for one screen, the image data size becomes approx. 16 M bytes and thus, for two screens, the image data size becomes approx. 32 M bytes.
Therefore, it is important to reduce the capacity of the buffer memory. However, not only when obtaining the standard image (unrotated image) but also when obtaining an image that is rotated by 90 deg., it is desired to be able to reduce the capacity of the buffer memory without lowering the image data transfer throughput.
As a technique to be able to reduce the capacity of the buffer memory without lowering the image data transfer throughput even when a 90-deg. rotated image is obtained, there is available a method in which, when two-dimensional image data are stored into the image data storage part, a two-dimensional image IM is divided in the vertical and transverse directions thereof into a plurality of small divisional areas, and the small divisional areas are stored dispersedly in a plurality of disc devices.
In this case, as means for dispersing and storing the two dimensional image, there are known a memory control technique which is disclosed in Japanese Patent Unexamined Publication No. Sho. 63-40972 and a device for converting pattern data lengthwise and crosswise which is disclosed in Japanese Patent Unexamined Publication No. Sho. 63-95694.
Since both of the techniques disclosed in the above-mentioned publications aim at processing a memory element having a 1-bit structure, the object to be processed by them is different from the object to be processed by the before-mentioned technique in which the image data are processed using the small divisional areas as a unit. However, it seems that the disclosed way of thinking can also apply to the parallel driving disc device in which the image data are processed using the small divisional areas as a unit. In this case, whether the standard image or the 90-deg. rotated image is to be obtained, a plurality of disc devices send out the image data sequentially and thus it can be expected that the parallel drive disc device dispenses with an extra buffer memory.
Now, FIGS. 37, 41 and 45 respectively show methods for storing the image data into the image data storage part, which methods can be expected from the above-mentioned conventional techniques and are also different from one another. The three methods are similar to one another in that the divided image data are stored in four disc devices DA, DB, DC and DD which are driven in parallel to one another, but they are different from one another in how to divide the image data, how to distribute the image data, and how to arrange the image data. Here, it is assumed that an image longer in the horizontal direction is considered as a standard image (unrotated image). Also, a small divisional area consisting of a cluster of divided images is referred to as a tile.
In the storage method (1) shown in FIGS. 37A and 37B, at first, as shown in FIG. 37A, a two-dimensional image is divided horizontally into four equal divisional images and each of the quartered image is further divided vertically into 16 equal parts. And, one of the images obtained by dividing into the 16 equal parts is used as a minimum unit and is referred to as a tile. That is, a tile is equivalent to a part which is obtained by dividing a screen into 64 equal parts.
According to the present storage method, as shown in FIG. 37B, in the two-dimensional image, the tiles that are arranged at the same position in the horizontal direction, that is, 16 pieces of tiles which are arranged in the same row (in FIGS. 37A and 37B, parts respectively shown by the same patterns, that is, shown in white blocks, oblique lines, dots and the like) are stored in the same single disc device respectively, and 16 pieces of tiles which are arranged in different rows are stored in different disc devices respectively. That is, 16 tiles arranged in each of the rows shown in FIG. 37A are respectively stored in each of the disc devices consisting of the four disc devices DA, DB, DC and DD.
In this case, the tiles are stored sequentially from the upper side of the image into each of the disc devices. Numerals shown within the respective tiles in FIGS. 37A and 37B represent the respective storage positions of the tiles within one disc device. The meaning of the numerals within the tiles is the same also in the figures to be described below. The kinds of the patterns such as the white blocks, oblique lines, dots and the like correspond to the individual disc devices. The patterns of the tiles are also similar in the respective figures to be described below.
Next, in the storage method (2) of FIGS. 41A and 41B, as shown in FIG. 41A, a two-dimensional image is divided into four equal parts respectively in the horizontal and vertical directions thereof, that is, the two-dimensional image is actually divided into 16 equal parts. Each of the 16 divisional images (in FIG. 41A, the portions that are given the same patterns such as white blocks, oblique lines, dots and the like) is further divided in the vertical direction thereof into four equal parts, and the minimum division unit is referred to as a tile. Therefore, similarly to the method shown in FIGS. 37A and 37B, one tile is equivalent to one of the 64 equally divided parts of one screen.
In the present method, in FIG. 41A, a storage disc device is allotted to each of the same pattern portions which consist of the 16 divisional images of the original two-dimensional image, and in the 16 divisional images, images that are shifted in the same direction (in the lower right direction) in position one in each of the vertical and horizontal directions are allotted to the same disc device. The respective tiles are arranged and stored sequentially from the upper side of the image. Here, there is assumed a two-dimensional space (a closed two-dimensional space) in which, in the horizontal direction, the left end tile is connected to the right end tile, and in the vertical direction, the top end tile is connected to the bottom end tile. A two-dimensional image to be processed is positioned in this space. For example, if the tiles that are shifted one in each of the vertical and horizontal directions are traced in the lower right direction from the top, then, in the two-dimensional image, the next tile to a certain bottom end tile becomes a top end tile which is displaced one in the right direction.
Next, in the storage method (3) shown in FIGS. 45A and 45B, similarly to the storage method (2) in FIGS. 41A and 41B, a two-dimensional image is largely quartered in the respective vertical and horizontal directions thereof into 16 equal parts, and each of the resultant 16 divisional images (in FIG. 45A, the portions that are given the same patterns such as white blocks, oblique lines, dots and the like) is further divided in the horizontal direction into four equal parts, and the minimum division unit is referred to as a tile. In this case as well, similarly to the storage methods respectively shown in FIGS. 37A, 37B, 41A and 41B, a tile is equivalent to one of the 64 divisional parts of one screen.
In the present storage method, similarly to the storage method (2) shown in FIGS. 41A and 41B, in FIG. 45A, a storage disc device is allotted to each of the same pattern portions which consist of the 16 divisional parts of the original two-dimensional image, and in the 16 divisional images, images displaced in the same direction (in the lower right direction) one in each of the vertical and horizontal directions are allotted to the same disc device. However, in the respective disc devices, the respective tiles are arranged and stored sequentially from the left side of the image.
Here, if the buffer memory of the image data rotational processing device, as in the embodiment shown in FIG. 35, is composed of two memory banks each having a capacity corresponding to one screen, when the parallel drive disc devices of the three storage methods respectively shown in FIGS. 37A, 37B, 42A, 42B, 45A and 45B are applied as the image data storage part, no performance difference is found between the above-mentioned three storage methods.
However, when an image to be obtained is only the standard image (the unrotated image), let us compare the above three storage methods with one another in the capacities of the buffer memories thereof that are sufficient and minimum to obtain the same transfer speed as a buffer memory having a capacity corresponding to two screens. In the storage methods shown in FIGS. 37A, 37B, 41A and 41B, since the tiles are stored in each of the disc devices sequentially from the upper side of the image, as shown in FIGS. 38 and 42 in which the accessing operations for reading out the images are illustrated, the minimum capacity of the buffer memory may be two times 4 tiles which are the number of tiles extending in the horizontal direction of the two-dimensional image, that is, 8 tiles.
That is, as shown in FIGS. 38 and 42, at first, the four tiles in the upper-most row of each of the two-dimensional images respectively shown in FIGS. 37A and 41A are read out from the four disc devices DA-DD, that is, one tile from each of the four disc devices, and the four tiles are then written into one of the two memory banks of the buffer memory. If this writing operation is completed, then an operation to read out the written data from the one memory bank is started and the read-out data are transferred through the host input-output control part to the host device.
At the same time, the other memory bank of the buffer memory is put into a writable state, and the four tiles in the second row from top are read out from the four disc devices DA-DD one from each of them and are then written into the other memory bank.
If the writing of the tiles into the other memory bank is completed, then, in the buffer memory, the writing and reading states of the two memory banks are reversed and, after then, the read-out and writing of the data are repeated similarly to the above operations. These operations are performed repetitively until the four tiles in the bottom row of each of FIGS. 37A and 41A are read out and written, with the result that the standard image is read out and transferred to the host device.
As can be seen from the foregoing description as well, to obtain a standard image in the storage methods respectively shown in FIGS. 37A, 37B, 41A and 41B, as the buffer memory, there may be provided two memory banks each having a capacity corresponding to four tiles and, as shown in the buffer memory bank switching timings in FIGS. 38 and 42 (In these figures, a point to which a mark O is applied is a switching point. In the following description, this also applies similarly to figures in which accessing operations are illustrated.), the two memory banks each having a 4-tile capacity may be used alternately in such a manner that they are switched over to each other every tiles corresponding to one line of a two-dimensional image.
However, in the storage method shown in FIGS. 45A and 45B, since the 16 divisional images of a two-dimensional image are further quartered in the horizontal direction, as shown in FIG. 46 in which there is illustrated the accessing operation to be performed when the images are read out, the capacity of the buffer memory must be two times the number of tiles in the horizontal direction of the two-dimensional image, 4 tiles.times.4=16 tiles, that is, as the buffer memory capacity, 32 tiles are necessary. In this case, two buffer memories each having a capacity corresponding to 16 tiles are used alternately in such a manner that they are switched over to each other every 1 line of tiles. Therefore, in the storage method shown in FIGS. 45A and 45B, to obtain a standard image, there is necessary a buffer memory capacity which is four times the buffer memory capacity in the storage methods respectively shown in FIGS. 37A, 37B, 41A and 41B.
In the above description, for fair comparison, the area of a tile is set for a fixed one. However, in the storage methods in FIGS. 37A, 37B, 41A and 41B, if the tile is decreased down to a smaller area, then the buffer memory capacity can be reduced by an amount corresponding to such decrease.
A transfer time necessary for transfer of the image data will next be described. Here, in FIGS. 38, 42 and 46, the data transfer operation passes downwardly from the top to the bottom in these figures in terms of time, while a width in the vertical direction represents a length of time.
In FIGS. 38, 42 and 46, it is assumed that tiles having ascendingly continuing numbers adjoin each other in terms of access and, when access is moved from a certain tile to its adjoining tile, no access time is necessary. Also, it is assumed that tiles having discontinuous numbers do not adjoin each other in terms of access and, in this case, when access is moved from a certain tile to a next tile, there is necessary an access time which is equal to T. Here, T is defined as a time which is necessary for a disc device to transfer image data corresponding to a tile.
Also, on the assumption that the performance of the device in transferring the image data from the buffer memory through the host input-output control part to the host device is five times that of one disc device, the time necessary to transfer the image data corresponding to four tiles from the buffer memory to the host device is assumed to be almost equal to T.
If the transfer times of the above-mentioned storage methods necessary to obtain the standard image are compared with one another in accordance with the above assumptions, then the following conclusion can be obtained.
That is, in the storage methods respectively shown in FIGS. 37A and 37B, 41A and 41B, and 45A and 45B, the transfer time is the same and the time necessary for completion of transfer of the image data corresponding to one screen is 17T according to the above-mentioned equation (2) (W=(X+1) T). This can be understood from FIGS. 38, 42 and 46 as well.
Next, in the respective storage methods in FIGS. 37A and 37B, 41A and 41B, and 45A and 45B, description will be given below of a case in which a 90-deg rotated image is obtained.
That is, in the respective storage methods of FIGS. 37A and 37B, 41A and 41B, and 45A and 45B, if the sufficient and minimum buffer memory capacities thereof to obtain almost the same transfer speed as in a method employing a buffer memory having a capacity equivalent to two screens are compared with one another, then there can be obtained such comparison results as shown in FIGS. 39, 43 and 47 which respectively show read-out access operations corresponding to the respective storage methods shown in FIGS. 37a and 37B, 41A and 41B, and 45A and 45B, that is, in this order, there are necessary a capacity equivalent to 128 tiles, a capacity equivalent to 32 tiles and a capacity equivalent to 8 tiles, which shows that the three storage methods are different from one another in the capacities thereof.
In other words, to obtain a 90-deg rotated image, there are necessary tiles arranged every vertical row. In particular, in the storage method (1) shown in FIGS. 37A and 37B, since 16 pieces of tiles which are arranged in one vertical row and are the same in position in the horizontal direction of the screen are stored in each of the disc devices, as shown in FIG. 39, when the four disc devices DA to DD are driven in parallel so as to obtain a 90-deg. rotated image, there is necessary a capacity equivalent to one screen as a buffer memory. For this reason, each of the two buffer memories must have a capacity equivalent to 64 tiles and thus the two buffer memories must have a total of 128 tiles.
On the other hand, in the storage method shown in FIGS. 41A and 41B, since image data necessary to read out a 90-deg. rotated images from the buffer memory are equally dispersed and stored in the four disc devices DA to DD with the 16 divisional images of a two-dimensional image as a unit, to obtain a 90-deg. rotated image in the storage method (2) of FIGS. 41A and 41B, as shown in FIG. 43, the capacity of the buffer memory may be two times 16 tiles which are equivalent to four disc devices each having four tiles corresponding to the 16 divisional images of a two-dimensional image, that is, 32 tiles.
Further, in the storage method shown in FIGS. 45A and 45B, in the four disc devices DA to DD, image data necessary to read out a 90-deg. rotated image from the buffer memory, that is, image data arranged in one vertical row are equally dispersed and stored with a tile as a unit. Therefore, to obtain a 90-deg. rotated image in the storage method of FIGS. 45A and 45B, as shown in FIG. 47, the capacity of the buffer memory may be two times 4 tiles which are equivalent to the four disc devices, that is, 8 tiles.
On the other hand, referring to the transfer speed, since the transfer time increases by T as a time for access to each of tiles having discontinuing numbers in ascending order, in FIGS. 39, 43 and 47, the transfer times necessary for completion of the data transfer are respectively 17T, 19T and 20T in this order.
To sum up the above-mentioned contents, on condition that the transfer speed (20T or less) must be maintained, the buffer memory capacity necessary for the image data transfer is as follows.
In the storage method (1) shown in FIGS. 37A and 37B, the memory buffer capacity may be equivalent to 8 tiles for a standard image, while it may be equivalent to 128 tiles for a 90-deg. rotated image.
In the storage method (2) shown in FIGS. 41A and 41B, the memory buffer capacity may be equivalent to 8 tiles for a standard image, while it may be equivalent to 32 tiles for a 90-deg. rotated image.
In the storage method (3) shown in FIGS. 45A and 45B, the memory buffer capacity may be equivalent to 32 tiles for a standard image, while it may be equivalent to 8 tiles for a 90-deg. rotated image.
Therefore, the necessary minimum capacity of the buffer memory to obtain both of the standard and 90-deg. rotated images is equivalent to 128 tiles in the storage method (1) shown in FIGS. 37A and 37B, 32 tiles in the storage method (2) in FIGS. 41A and 41B, and 32 tiles in the storage method (3) in FIGS. 45A and 45B. That is, either of the storage methods (2) or (3) shown in FIGS. 41A and 41B or 45A and 45B is preferable to the storage method (1) shown in FIGS. 37A and 37B.
Next, for reference, description will be given below of how the time necessary for completion of transfer of image data is effected when the buffer memory capacity is limited to a smaller level.
For example, in the storage method shown in FIGS. 37A and 37B, when obtaining a 90-deg. rotated image, it is assumed that the buffer memory capacity is nothing but 16 tiles. On this assumption, an influence on the image data transfer completion time will be described with reference to FIG. 40.
As described above, to obtain a 90-deg. rotated image, all of the pixels of an image situated at the same horizontal position (at the same transverse position) thereof must be arranged in the buffer memory. The 90-deg. rotated image can be taken out by reading out the tiles sequentially from the lower side of the image to the upper side thereof.
In this manner, in order to arrange the data on a row of tiles within the buffer memory, the data on 16 pieces of tiles must be read out. Here, in an example to be described below, if the disc device is accessed two times for the same image data, then an extra access time is necessary. Therefore, in order to avoid this, there is not employed such a structure that the capacity of the buffer memory is divided according to the number of disc devices and the divided memory portions are occupied by every individual disc devices, but there is employed a structure in which the buffer memory is used as a united body; and, there is not employed the two bank switching technique but there is employed the data transfer technique described before with reference to FIG. 34 in which the buffer memory is divided into the two phases, that is, the subordinate and host transfer phases. This is because the buffer memory does not have a capacity which exceeds 16 tiles.
In the above-mentioned structure, to obtain a 90-deg. rotated image, at first, data on the right-side 16 tiles are transferred from the disc device DA to the buffer memory. It takes a time equivalent to 16T to transfer the above right-side 16 tiles data. Next, the thus transferred data are then transferred to the host device. A time necessary to transfer the data from the buffer memory to the host device can be obtained as follows, on the assumption that the transfer speed thereof is five times the transfer speed of one disc device: that is, 16T.div.5=3.2T=3T.
After then, if the disc device from which the above data are read out is changed and similar operations are repeated three times, then there can be obtained a 90-deg. rotated image. In this case, a time necessary to complete this transfer can be obtained in the following manner: that is, (16T+3T).times.4=76T. This time is about 4.5 times the transfer time of a standard image, namely, approx. 17T.
Next, similarly, a case in which, in the storage method (2) shown in FIGS. 41A and 41B, when a 90-deg. rotated image is to be obtained, it is assumed that the buffer memory has a capacity equivalent to nothing but 16 tiles, will be described with reference to FIG. 44.
As described above, to arrange all pixels of an image situated at the same horizontal position of the image from the top to the bottom, the data on 16 tiles must be read. Similarly to the above-mentioned case, since there is necessary an extra time when a disc device is accessed twice for the same data, such access is avoided.
That is, in the storage method shown in FIGS. 41A and 41B, since the 16 divisional images of the original image are dispersed equally in the four disc devices in the vertical direction as well, there is employed a structure in which the capacity of the buffer memory is divided according to the number of disc devices and the divided memory parts are individually occupied by the respective disc devices. However, in the present storage method, similarly to FIG. 40, there is employed not the 2-bank switching technique but the data transfer technique which is divided into the subordinate and host transfer phases.
In this case, as shown in FIG. 44, at first, it takes a time of 4T to transfer the data on the left-side 16 tiles in parallel from the four disc devices to the buffer memory. Next, it takes a time of approx. 3T to transfer the data from the buffer memory to the host device. After then, by repeating these operations three times similarly, there can be obtained a 90-deg. rotated image. In this case, the time necessary for completion of the data transfer is (4T+3T).times.4=28T. This time is approx. 1.6 times the transfer time necessary for a standard image, that is, approx. 17T.
In the storage method (3) shown in FIGS. 45A and 45B, although description will not be given with reference to its associated figure of an influence of a reduced buffer memory capacity on the transfer time, on the contrary to the storage method (2) shown in FIGS. 41A and 41B, there is produced an equivalent time delay (a time about 1.6 times the transfer time necessary when the buffer memory is 16 tiles) when a standard image is obtained.
To sum up the above description, if it is assumed that the buffer memory capacity is maintained at 16 tiles or less, that is, at 1/4 screen or less, then time necessary for the image data transfer (exclusive of the initial access time of the command overhead and disc devices) can be obtained as follows:
That is, in the storage method (1) shown in FIGS. 37A and 37B, the image data transfer time is 17T for a standard image, while 76T for a 90-deg rotated image.
In the storage method (2) in FIGS. 41A and 41B, the transfer time is 17T for a standard image and 28T for a 90-deg. rotated image.
In the storage method (3) in FIGS. 45A and 45B, the transfer time is 28T for a standard image and 20T for a 90-deg. rotated image.
Besides the above-mentioned techniques, as a very simple technique which does not lower the throughput of an image data storage part but can reduce the capacity of a buffer memory even when a 90-deg. rotated image is obtained, there is available a method in which the number of disc devices to be driven in parallel is increased.
For example, as shown in FIG. 48, one screen is divided vertically into 8 equal parts as well as horizontally into 8 equal parts and, as shown in FIG. 49, image data are dispersed and stored in 8 disc devices having the same performance in such a manner that tiles having the same pattern in FIG. 48 are respectively stored in the same disc device. That is, the storage disc devices are allotted for every tile, and the tiles that are shifted in position by a distance equivalent to a tile in the vertical and horizontal directions are stored in the same single disc device.
When obtaining a standard image (a non-rotated image), if the buffer memory has a capacity equivalent to the 2 upper-side stages of tiles so that the banks thereof can be switched over to each other, then the image data can be transferred at such a timing as shown in FIG. 36, while the states of access at that time are as shown in FIG. 50. On the other hand, when obtaining a 90-deg. rotated image, similarly, the buffer memory may have a capacity equivalent to the 2 left-side rows of tiles, and the states of access are as shown in FIG. 51.
In other words, in the image data storage method using N (N is an integral number which is 2 or more) pieces of disc devices, when obtaining either of a standard image or a 90-deg. rotated image, if the buffer memory has a capacity equivalent to a 2/N screen, then the image data can be transferred at such a timing as shown in FIG. 36. That is, the necessary buffer memory capacity is in inverse proportion to the number N of disc devices to be driven in parallel. If the number of disc devices is four as in the storage methods (2) and (3) respectively shown in FIGS. 41A and 41B, and 45A and 45B, then the necessary buffer memory capacity may be equivalent to a 1/2 screen; if the number of disc devices is ten, then the capacity may be equivalent to a 1/5 screen; and, for 20 disc devices, the capacity may be equivalent to a 1/10 screen.
However, in the above-mentioned techniques employing the prior art, there are found the following drawbacks.
In the conventional simple bank switching technique, to obtain a 90-deg. rotated image, it has been necessary to use a buffer memory which has a capacity equivalent to 2 screens. Due to this, as described above, especially for an image which has a color multiple value and a high density, it is necessary to use a memory having a large capacity as a buffer memory. The large-capacity memory is expensive and thus leads to an economic disadvantage.
Also, in the parallel drive disc device technique using N (N is an integral number which is two or greater) pieces of disc devices, to obtain a standard image, the buffer memory capacity can be set equal to a 1/N screen or less but, however, in this technique, the time necessary to obtain a 90-deg. rotated image is inconveniently N times the time necessary to obtain the standard image. That is, the buffer memory capacity is nearly in inverse proportion to the required time and, therefore, both of them cannot be decreased at the same time.
Further, there is also available a method in which the number of disc devices to be driven in parallel is increased to thereby decrease both the buffer memory capacity and required time. However, in this method, the cost thereof is increased in proportion to the number of the disc devices used. That is, this method is disadvantageous in the economic aspect.